package org.bronycorps.mlptss.manager.preferences;

import java.util.ArrayList;

import com.badlogic.gdx.math.Vector2;

public class TrajectConfiguration {

	public static class AlphaTweenConfig {
		private float target;

		public AlphaTweenConfig() {
			super();
		}

		public float getTarget() {
			return this.target;
		}

		public void setTarget(float target) {
			this.target = target;
		}

	}

	public static class DelayTweenConfig {
		private float delay;

		public DelayTweenConfig() {
			super();
		}

		public float getDelay() {
			return this.delay;
		}

		public void setDelay(float delay) {
			this.delay = delay;
		}

	}

	public static class InitialSetConfig {
		private float delay;
		private Vector2 position;
		private float scale;

		public InitialSetConfig() {
			super();
			// TODO Auto-generated constructor stub
		}

		public InitialSetConfig(float delay, Vector2 position, float scale) {
			super();
			this.delay = delay;
			this.position = position;
			this.scale = scale;
		}

		public float getDelay() {
			return this.delay;
		}

		public Vector2 getPosition() {
			return this.position;
		}

		public float getScale() {
			return this.scale;
		}

		public void setDelay(float delay) {
			this.delay = delay;
		}

		public void setPosition(Vector2 position) {
			this.position = position;
		}

		public void setScale(float scale) {
			this.scale = scale;
		}

	}

	public static class ScaleTweenConfig {
		private float duration;
		private String ease;
		private float target;

		public ScaleTweenConfig() {
			super();
		}

		public float getDuration() {
			return this.duration;
		}

		public String getEase() {
			return this.ease;
		}

		public float getTarget() {
			return this.target;
		}

		public void setDuration(float duration) {
			this.duration = duration;
		}

		public void setEase(String ease) {
			this.ease = ease;
		}

		public void setTarget(float target) {
			this.target = target;
		}

	}

	public static class TrajectTweenConfig {
		private float duration;
		private String ease;
		private Vector2 target;
		private ArrayList waypoints = new ArrayList();

		public TrajectTweenConfig() {
		}

		public TrajectTweenConfig(float duration, String ease, Vector2 target,
				ArrayList waypoints) {
			super();
			this.duration = duration;
			this.ease = ease;
			this.target = target;
			this.waypoints = waypoints;
		}

		public float getDuration() {
			return this.duration;
		}

		public String getEase() {
			return this.ease;
		}

		public Vector2 getTarget() {
			return this.target;
		}

		public ArrayList getWaypoints() {
			return this.waypoints;
		}

		public void setDuration(float duration) {
			this.duration = duration;
		}

		public void setEase(String ease) {
			this.ease = ease;
		}

		public void setTarget(Vector2 target) {
			this.target = target;
		}

		public void setWaypoints(ArrayList waypoints) {
			this.waypoints = waypoints;
		}

	}

	private ArrayList nodes = new ArrayList();

	public TrajectConfiguration() {
		super();

	}

	public TrajectConfiguration addNode(Object node) {
		this.nodes.add(node);
		return this;
	}

	public ArrayList getNodes() {
		return this.nodes;
	}

	public void setNodes(ArrayList nodes) {
		this.nodes = nodes;
	}

}
